The present invention relates generally to displaying video signals, and more specifically to a method and system for enhanced YCbCr to RGB conversion of received video signals for display on a RGB interface based graphics monitor.
The color space defined by standard recommendation ITU-R BT.601 is referred to as YCbCr data. Y represents the luma component, while the Cb and Cr represents color difference components. YCbCr data is generally associated with television video data that has been digitized by a television receiver. YCbCr is also the common form of video data output from an MPEG decoder, such as a DVD-video player. YCbCr data is most often eight-bit data words, where the YCbCr definition defines nominal white of Y to be the value 235, and black to be any value of Y between 0 and 16. Another common form of YCbCr uses 10 bit data words, with Y""s nominal white value at 940, and black is from 0 to 64.
Note, the term black is used herein with reference to one word of one video component, and means that the video component is not generated (i.e. a value of 0-16 for Y or a value of 0 for R, G, and B). The term maximum white is used herein to specify a maximum xe2x80x9conxe2x80x9d value for a video component (i.e. a value of 255 for Y, or a value of 255 for R, G, and B).
The YCbCr definition of nominal white defines a value, that when displayed on a television monitor would be considered white by most people. However, while the value 235 is defined as nominal white, it is possible for YCbCr data to provide colors brighter than nominal white by providing the values 236-255 for 8 bit data, and from 940 to 1023 for 10 bit data.
It has become desirable to display YCbCr data on RGB graphics monitors, generally used with computers, as opposed to RGB video monitors, which are generally used in television applications. Typically, RGB video monitors are those display devices that receive data in an RGB format where a nominal white value (235) is less than a maximum white value (255), while RGB graphics monitors are those display devices that receive data in an RGB format where a nominal white value (255) is equal to a maximum white value (255). RGB graphics monitors are typically adjusted to produce less brightness than RGB video monitors, thereby resulting in video images that have a dim appearance for most viewers.
In order to accommodate the display of video signals on RGB graphics monitors, a conversion including color space conversion and amplitude scaling has been performed from the YCbCr range of 16-235 (black to nominal white) to the RGB range of 0-255 (black to maximum white). However, as previously mentioned the definition of nominal white for YCbCr space is different than the definition of maximum white for RGB space. Therefore, while RGB nominal white is a maximum white value, the YCbCr nominal white merely refers to a value, which when displayed on a television monitor can produce a color considered to be nominal white, although not a maximum white. The YCbCr definition permits the display of whites that are brighter than nominal white in the range of 236 through 255. Therefore, a simple scaling between black and nominal white results in a loss of detail in areas that are brighter than nominal white, due to the required signal clamping at 255.
One effort to resolve the loss of near white data has been to provide amplitude linear transforming of the Y component beyond the nominal white range of 235, resulting in a loss of less of the brighter than nominal white YCbCr data. However, because of the characteristics of RGB graphics monitors, data scaled in this manner, results in the overall display of video on an RGB graphics display to be darker than desirable for most viewers.
Therefore, a system and method capable of performing YCbCr to RGB data conversion scaling that overcomes problems associated with the prior methods would be useful.